package com.lovo.sys.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.lovo.sys.bean.ProductBean;
import com.lovo.sys.bean.ProductInfoBean;
import com.lovo.sys.bean.ProductListingReviewBean;

import java.time.LocalDate;
import java.util.List;

public interface IProductService {
    /**
     * 按id修改状态为上架
     * @param productName 商品名
     */
    void updateStatus(String productName);
    public IPage<ProductBean> findListedProduct(int pageNO,String productType,int status);
    public void updateStatusToDown(String productName);
    IPage<ProductBean> findAll(int pageNO);
    public List<ProductBean> findByProductStatus();

    void updateStatu(String productName);

    boolean updateProductStatus(String productName,int status);


    //库存维护

    /**
     * 入库   提供给订单 的方法
     * 1、修改供货单数据，
     * 2、修改供货标书的状态为已入库，
     * 3、增加库存数据，
     * 4、增加批次数据
     * @param product
     */
    public void inKu(String product);

    /**
     * 出库
     * @param
     * @param num
     */
    public void outKu(String productName,String specs, int num);

    /**
     * 采购提醒
     * 定时调度，查询所有库存数量小于阈值的商品，向审核发送采购提醒
     */
    public void remindToBuy();

    public IPage<ProductBean> findAllProduct(int pageNO);
    public List<ProductInfoBean> findByProduct(String productName);


    public List<String> findAllType();

    /**
     * 退货库存加
     * @param productName 商品名
     * @param specs 商品规格
     * @param num 数量
     */

    public void  backMoneyAndProduct(String productName,String specs, int num);



    public boolean updateProductInfoPrice(String obj);

    public void addSnowId(String productName,String snowId);


}
